package com.parking.mgr.useraccount.service;

import com.parking.mgr.common.dbs.BaseService;
import com.parking.mgr.useraccount.model.entity.ParkingRecordFileEntity;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * @ClassName ParkingRecordFileService
 * @Description TODO
 * @author: puyunqing
 * @Date: 2025/3/6
 */
public interface ParkingRecordFileService extends BaseService<ParkingRecordFileEntity> {

    ParkingRecordFileEntity getOneByParkingRecordId(String parkingRecordId);

    /**
     * 停车场审批申请表
     * @param file
     * @param fkParkingRecordId
     * @param request
     */
    void uploadApplicationFormFile(MultipartFile file, String fkParkingRecordId, HttpServletRequest request);

    /**
     * 停车场管理制度
     * @param file
     * @param fkParkingRecordId
     * @param request
     */
    void uploadManagementSystemFile(MultipartFile file, String fkParkingRecordId, HttpServletRequest request);

    /**
     * 法人身份证正面
     * @param file
     * @param fkParkingRecordId
     * @param request
     */
    void uploadUseCertificationFile(MultipartFile file, String fkParkingRecordId, HttpServletRequest request);

    /**
     * 法人身份证反面
     * @param file
     * @param fkParkingRecordId
     * @param request
     */
    void uploadFireCertificateFile(MultipartFile file, String fkParkingRecordId, HttpServletRequest request);

    /**
     * 办理人身份证正面
     * @param file
     * @param fkParkingRecordId
     * @param request
     */
    void uploadIdCardEntrustFile(MultipartFile file, String fkParkingRecordId, HttpServletRequest request);

    /**
     * 办理人身份证反面
     * @param file
     * @param fkParkingRecordId
     * @param request
     */
    void uploadParkingDiagramEnvFile(MultipartFile file, String fkParkingRecordId, HttpServletRequest request);

    /**
     * 企业授权经办人委托书
     * @param file
     * @param fkParkingRecordId
     * @param request
     */
    void uploadCompletionAcceptRecordFile(MultipartFile file, String fkParkingRecordId, HttpServletRequest request);

    /**
     * 停车场突发事件处理预案
     * @param file
     * @param fkParkingRecordId
     * @param request
     */
    void uploadProcessPlan(MultipartFile file, String fkParkingRecordId, HttpServletRequest request);

    /**
     * 停车场收费公示牌
     * @param file
     * @param fkParkingRecordId
     * @param request
     */
    void uploadChargePublicity(MultipartFile file, String fkParkingRecordId, HttpServletRequest request);

    Map<String, Object> getUrl(String fkParkingRecordId);
}
